package com.edu.jvm.unit01;

import sun.misc.Launcher;
import sun.security.ec.CurveDB;

import java.net.URL;
import java.security.Provider;

public class ClassLoaderTest1 {

    public static void main(String[] args) {
        System.out.println("。。。启动类加载器。。。");

        //获取BootstrapCLassLoader能够加载的API的路径
        URL[] urLs = Launcher.getBootstrapClassPath().getURLs();
        for (int i = 0; i < urLs.length; i++) {
            System.out.println(urLs[i].toExternalForm());
        }

        //从下面的路径选择一个类，来看看他的类加载器是什么：引导类加载器（C语言编写）
        ClassLoader classLoader = Provider.class.getClassLoader();
        System.out.println(classLoader);//null

        //扩展类加载器
        System.out.println("=================扩展类加载器===============");
        String property = System.getProperty("java.ext.dirs");
        for (String s : property.split(";")) {
            System.out.println(s);
        }

        //从下面的路径选择一个类，来看看他的类加载器是什么：扩展类类加载器
        ClassLoader classLoader1 = CurveDB.class.getClassLoader();
        System.out.println(classLoader1);//sun.misc.Launcher$ExtClassLoader@4b67cf4d
    }
}
